👻

“Success is going from failure to failure without loss of enthusiasm.”

午睡后,头昏昏沉沉的,瞎点按钮差点把工友手指绞断了 😥

“机器弄坏了,人没事就好”,工友们如此安慰我 😭

对不起,对不起,对不起,对不起

我好像有个幻觉,有了 mac mini,我就能更具有创造力似的。

struct 是值类型。

工厂干活很辛苦……这次出差来的是胶州一个轻工业小镇的木材厂,11 笑说公费旅游,才怪!公费吃苦呀。

木材厂的工人将一根根原木材(主要品种是白橡、白蜡、红橡)从仓库拖出来,修掉边边切割需要的尺寸,拼在一起后,再用轰鸣声巨大的刨砂机打磨表面,就是家具制造商需要的木板了。人类挑选家具时不喜欢难看的巴结、异色,喜欢“原木”好看的样子,所以还需要人对木材进行分 A、B、C……级。很难一根原木出来完全是想要的,实在无法忍受的横着切掉,可以接受的竖着切掉再拼在一起。而我来这里是调试一台视觉设备,希望达到代替肉眼分级的效果,识别出一根木材上不想要的东西,保证良才率(又长又好的木材最值钱)的基础上,将切割数据丢给下游的横切锯。

识别效果并不理想。老板写的代码还有不少漏洞,我大概要在这里待上一阵子。调试基本就是站一天,这么辛苦,挣的钱也低于烟台尊重技术工程人员的薪资,真的是太惨了。好处是,遇到的折磨人的困境,也许我能写点什么 :P

北方的小工厂几乎看不到年轻人,都是被迫很能吃苦的大叔大婶,女性似乎都比较乐观,爱说爱笑,可惜木材厂真的太吵了,否则依我爱八卦的性格,应该挺聊得来。

和 11 说,我想躺着就能赚钱,她说太色情了哈哈哈哈哈。

AlgoCasts ( Hawstein 的作品)已经停止服务。停止服务的方式“是把所有课程视频整理成百度网盘离线包,方便随时下载回看”

“……我左某人,自信可以做到这一点

他们在第 94 期 teahour 都说,系统性学习算法,最后还是得回归经典书籍。

(可是技术书籍很枯燥啊……)

讀了這篇 Async 在 forEach、map 等各种迭代中的使用,修剪了其中的示例程序,更好理解些 for await 在干啥。

// 模拟一个耗时运算,输入 i,阻塞 i * 500 毫秒,再返回 i  
function get(i) {
  return new Promise(resolve => {
    setTimeout(() => {
      console.log("get(%d) over", i);
      resolve(i);
    }, i * 500);    
})
}

// 测试 for await
async function printNums() {
  const nums = [3, 1, 10, 2].map(n => get(n));
  console.log("begin");
  for await (const n of nums) {
    console.log("content: %d", n);
  }
}

printNums();
// will console:
begin
get(1) over
get(2) over
get(3) over
content: 3
content: 1

get(10) over
content: 10
content: 2

这样就比较清楚看出来 for await 的好处了,既异步进行了运算(耗时少的提前结束运算),又按着顺序拿到了运算的结果。从打印的日志可以看出,get(2) 提前结束了运算,仍然会等待 get(10) 计算结束之后才立即拿到结果。

a9:

Once you've done the assignment, you must meet with one of the AIs to demonstrate your knowledge of your code. This meeting is a required part of the assignment and must take place on or before 04/08.

我只有代码,没有回答(